﻿//using System;
//using System.Text;
//using System.Reflection;
//using Tickz.Configz;

//namespace Tickz.Dataz
//{
//    public class DatabaseProvider
//    {
//        private DatabaseProvider()
//        { }

//        private static IDataProvider _instance = null;
//        private static object lockHelper = new object();

//        static DatabaseProvider()
//        {
//            GetProvider();
//        }

//        private static void GetProvider()
//        {
//            try
//            {
//                if (!string.IsNullOrEmpty(BaseConfigs.GetDbDataProviderAssembly))
//                {
//                    _instance = (IDataProvider)Activator.CreateInstance(Type.GetType(BaseConfigs.GetDbDataProviderAssembly), false, true);
//                }
//                else
//                {
//                    _instance = (IDataProvider)Activator.CreateInstance(Type.GetType(string.Format("Tickz.Dataz.{0}.DataProvider, Tickz.Tools", BaseConfigs.GetDbType), false, true));
//                }
//            }
//            catch
//            {
//                try
//                {
//                    _instance = (IDataProvider)Activator.CreateInstance(Type.GetType(string.Format("Tickz.Dataz.{0}.DataProvider, Tickz.Tools", BaseConfigs.GetDbType), false, true));
//                }
//                catch
//                {
//                    throw new Exception("请检查Basez.config中Dbtype节点数据库类型是否正确，例如：SqlServer、Access、MySql");
//                }
                
//            }
//        }

//        public static IDataProvider GetInstance()
//        {
//            if (_instance == null)
//            {
//                lock (lockHelper)
//                {
//                    if (_instance == null)
//                    {
//                        GetProvider();
//                    }
//                }
//            }
//            return _instance;
//        }

//        public static void ResetDbProvider()
//        {
//            _instance = null;
//        }
//    }
//}
